package com.jisf.driver.service;

import com.jisf.driver.entity.dto.UserChatDto;
import com.jisf.driver.entity.po.User;
import com.baomidou.mybatisplus.extension.service.IService;
import com.jisf.driver.entity.vo.UserAddRequestVo;
import com.jisf.driver.entity.vo.UserListRequestVo;
import com.jisf.driver.entity.vo.UserListResponseVo;
import com.jisf.driver.entity.vo.UserUpdatePasswordRequestVo;
import com.jisf.driver.response.IErrorCode;

import java.util.List;

/**
 * <p>
 * 用户表 服务类
 * </p>
 *
 * @author jisf
 * @since 2022-04-08
 */
public interface IUserService extends IService<User> {

    /**
     * 获取用户列表
     * @param userListRequestVo
     * @return
     */
    UserListResponseVo pageUserList(UserListRequestVo userListRequestVo);

    /**
     * 改变用户状态
     * @param id
     * @param status
     * @return
     */
    IErrorCode userChangeStatus(Integer id, String status);

    /**
     * 添加用户
     * @param userAddRequestVo
     * @return
     */
    IErrorCode userAdd(UserAddRequestVo userAddRequestVo);

    /**
     * 删除用户
     * @param id
     * @return
     */
    IErrorCode userDelete(Integer id);

    /**
     * 修改用户密码
     * @param userUpdatePasswordRequestVo
     * @return
     */
    IErrorCode updatePassword(UserUpdatePasswordRequestVo userUpdatePasswordRequestVo);

    /**
     * 获取聊天的用户
     * @param roleId
     * @return
     */
    List<UserChatDto> getUserChat(Integer roleId);

}
